#pragma once

#include "../esflow/vector.h"
#include <vector>
#include "../VNRWidget.h"


class VPicture;
struct singer_t;

class RotationItem : public VNRWidget
{
    friend class CRotate;

public:
    RotationItem(void);
    RotationItem(int Id, float fWidth, float fHeight, CVector& fPosition, float fAngle);
    RotationItem(VPicture* pic);
    ~RotationItem(void);

    bool render(void) const;

    int Click(int x, int y);

    //  void SetV3Position(CVector& fPosition);
    //
    //  CVector &GetSetV3Position();
    //
    //  void SetAngle(float fAngle);
    //
    //     void SetAngleBk(float fAngle);
    //
    //  float GetAngle();


protected:
    RECT     m_rc;
    //  GLuint   m_nIdTexture;
    float    m_fWidth,
             m_fHeight,
             m_fAngle,
             m_fAngleBK;
    CVector  m_v3Position;
    GLfloat  m_ModelMatrix[16];
    GLfloat  m_ProjMatrix[16];
    int      m_viewport[4];
    bool     m_bClick;
    //    bool     m_enReflect;
    bool     m_bIsPlaying;
    VPicture* m_pic;
};
